#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//提供一个函数，实现可以打印任意类型的数组
void printAllArray(void* pArray,int eleSize,int len,void(*myPrint)(void*))
{
    char* p = pArray;
    for(int i = 0;i < len;i++)
    {
        //获取数组中每个元素的首地址
        char* eleAddr = p + eleSize * i;
        //printf("%d ",*(int*)eleAddr);
        //交还给用户做打印操作
        myPrint(eleAddr);
    }
    printf("\n");
}
void myPrintInt(void* data)
{
    int *num = data;
    printf("%d ",*num);
}
void test01()
{
    int arr[5] = {1,2,3,4,5};
    int len = sizeof(arr) / sizeof(int);
    printAllArray(arr,sizeof(int),len,myPrintInt);
}

int main()
{
    test01();

    system("pause");
    return 0;
}